﻿using SmartWMS.Domain.Base;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SmartWMS.Domain.FinanceManage
{
    /// <summary>
    /// 应收表
    /// </summary>
    public class Collection : KeyEntity
    {
        /// <summary>
        /// 流水号
        /// </summary>
        [MaxLength(50)]
        public string? SerialNumber { get; set; }

        /// <summary>
        /// 名称
        /// </summary>
        [MaxLength(50)]
        public string? Name { get; set; }

        /// <summary>
        /// 财务类别ID
        /// </summary>
        public int TypeId { get; set; }

        /// <summary>
        /// 付款方
        /// </summary>
        [MaxLength(50)]
        public string? Payer { get; set; }

        /// <summary>
        /// 应收金额	
        /// </summary>
        public decimal Receivable { get; set; }

        /// <summary>
        /// 实收金额
        /// </summary>
        public decimal NetReceipts { get; set; }

        /// <summary>
        /// 剩余金额
        /// </summary>
        public decimal Residue { get; set; }

        /// <summary>
        /// 付款机构
        /// </summary>
        [MaxLength(50)]
        public string? PayInstitution { get; set; }

        /// <summary>
        /// 付款日期
        /// </summary>
        public DateTime LastPaymentDate { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [MaxLength(200)]
        public string? Desc { get; set; }

        /// <summary>
        /// 审核状态
        /// </summary>
        public int State { get; set; }

        /// <summary>
        /// 审核人
        /// </summary>
        [MaxLength(20)]
        public string? Reviewer { get; set; }

        /// <summary>
        /// 审核意见
        /// </summary>
        [MaxLength(100)]
        public string? Opinion { get; set; }

        /// <summary>
        /// 审核时间
        /// </summary>
        public DateTime Audittime { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }
    }
}
